home *** CD-ROM | disk | FTP | other *** search
/ Chaos CD Blue / Chaos_CD_Blue__[1999].iso / www_ccc_de / congress98 / doku / 281298-dylan.text < prev    next >
Text File  |  1999-01-01  |  4KB  |  86 lines

  1.  
  2.                             All rights reversed
  3.                                       
  4.    Einfⁿhrung in Dylan
  5.    
  6. Vortrag: Andreas Bogk <ich@andreas.org>
  7. [1]http://www.gwydiondylan.org/
  8. Bericht: Jens Ohlig <jo@devcon.net>
  9.  
  10.    So etwas wie eine ideale Programmiersprache scheint es nicht zu geben.
  11.    Nehmen wir zum Beispiel die Typisierung von Variablen. Es gibt im
  12.    Grunde zwei Konzepte: dynamisches Typing und statisches Typing. Beides
  13.    hat seine Vor- und Nachteile: Bei Sprachen wie C mu▀ ich explizit
  14.    festlegen, ob ich Ganzzahl-, Flie▀komma- oder Zeichendaten verwenden
  15.    will. In Perl dagegen schreibe ich einfach die Variable, die Sprache
  16.    kⁿmmert sich dann um die Typisierung. Dieses Verfahren ist natⁿrlich
  17.    viel bequemer, wenn ich einfach nur schnell eine Idee hinprogrammieren
  18.    will, auf der anderen Seite ist es natⁿrlich verstΣndlich, da▀ eine
  19.    solche dynamische Typisierung nicht sehr performant ist. Der Compiler
  20.    kann den Code nicht zur Compile-Zeit auf den Datentyp hin optimieren.
  21.    Ein klassisches Dilemma, so scheint es.
  22.    
  23.    Vorhang auf: In diese Problematik hinein kommt Dylan (Dynamic
  24.    Language), eine relativ junge Programmiersprache, die ihre Wurzeln bei
  25.    Apple hat. In Dylan kann man problemlos einfach so
  26.    drauflosprogrammieren und mu▀ sich nicht um Typisierung kⁿmmern. Wenn
  27.    das Programm dann allerdings auf Geschwindigkeit optimiert werden
  28.    soll, benutzt man einfach statisches Typing. Das beste zweier Welten,
  29.    sozusagen.
  30.    
  31.    ─hnliche Konfliktfelder gibt es bei der Art der Sprache: Neben den
  32.    bekannten imperativen Programmiersprachen wie Pascal und C gibt es
  33.    noch objektorientierte Sprachen wie Smalltalk, C++ oder Java und zu
  34.    guter letzt funktionale Sprachen, von denen LISP die bekannteste sein
  35.    dⁿrfte. Dylan ist auch hier wieder hybrid. Komplett objektorientiert
  36.    hat es trotzdem M÷glichkeiten zur funktionalen Programmierung. Die
  37.    Syntax von LISP ist ja so eine Geschmackssache. "Es gibt zwei Arten
  38.    von Leuten: Die einen stehen auf viele Klammern und die anderen hassen
  39.    es. Die meisten hassen es", fasst Andreas Bogk zusammen. Dylan hat
  40.    daher eine sehr angenehm zu lesende, Pascal-Σhnliche Syntax.
  41.    
  42.    Dylan verfⁿgt aber auch noch ⁿber andere Features, die man von einer
  43.    modernen Programmiersprache erwartet. Garbage collection, das
  44.    automatische Entsorgen ungenutzter Variablen oder Objekte, kennt man
  45.    aus Sprachen wie Perl oder Java und natⁿrlich gibt es sie in Dylan
  46.    auch.
  47.    
  48.    Eine Sache, die man sich bei der objektorientierten Programmierung
  49.    immer wⁿnscht, ist die Trennung von Methoden und Objekten. "Wenn ich
  50.    zwei Objekte 'Frau' und 'Mann' habe und die Methode 'Sex' darauf
  51.    anwenden will -- soll dann die Methode 'Sex' zum Objekt 'Mann' oder
  52.    'Frau geh÷ren?" machte Andreas Bogk die ▄berlegungen der
  53.    Dylan-Designer deutlich.
  54.    
  55.    Weiterhin bietet Dylan durch sogenannte Slots nette M÷glichkeiten, um
  56.    Objekten andere Objekte zu ⁿbergeben. WΣhrend man typischerweise unter
  57.    C++ selbst Methoden schreibt, um Member Variables zu setzen oder sie
  58.    aus dem Objekt herauszuziehen, kann man in Dylan ganz bequem Slots
  59.    definieren, und die "Getter"- und "Setter"-Methoden stehen automatisch
  60.    zur Verfⁿgung.
  61.    
  62.    Soweit kurz zu den Features von Dylan, zu denen es durchaus noch mehr
  63.    zu sagen gΣbe. Auf der Implementationsseite sieht Dylan auch relativ
  64.    vielversprechend aus. Das ursprⁿngliche Projekt bei Apple kam zwar nie
  65.    ⁿber den Status einer technologischen Machbarkeitsstudie hinaus, aber
  66.    es gibt noch andere AnsΣtze. Eine kommerzielle Implementation fⁿr
  67.    Win32 ist fertig (nΣheres unter [2]http://www.harlequin.com/ ) und
  68.    erzeugt Code, der zu 99% so schnell ist wie C.
  69.    
  70.    Eine freie Implementation von Dylan fⁿr Unix-Σhnliche Betriebsysteme
  71.    lΣuft unter dem Namen "Gwydion Dylan". Andreas Bogk ist selbst
  72.    ma▀geblich am Gwydion Dylan-Projekt beteiligt. Haufenweise
  73.    Informationen hierzu gibt es unter [3]http://www.gwydiondylan.org/ .
  74.    Ganz fertig ist der natⁿrlich in Dylan selbst geschriebene Compiler
  75.    noch nicht, es fehlen noch Details. Auch die Perfomanz des vom
  76.    Compiler erzeugten Codes kommt bei weitem noch nicht an C heran, aber
  77.    Andreas Bogk verspricht Programme, die etwa "um den Faktor 10
  78.    schneller als Perl laufen". Immerhin, ein Anfang. Dylan wird noch von
  79.    sich h÷ren lassen.
  80.  
  81. References
  82.  
  83.    1. http://www.gwydiondylan.org/
  84.    2. http://www.harlequin.com/
  85.    3. http://www.gwydiondylan.org/
  86.